﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using SIGERP_Entidades;
using SIGERP_Negocio;

using System.Data.SqlClient;

namespace SIGERP_Presentacion
{
    public partial class frmReclamosCliente: frmABM
    {
        List<Reclamo> reclamos;
        DataTable dt;
        Cliente c;
        Reclamo rec;
        Boolean reitero;

        public frmReclamosCliente(Cliente cliente)
        {
            c = cliente;
            base.lblTitulo.Hide();
            base.tlsMenu.Hide();
            base.gbBusqueda.Dock = System.Windows.Forms.DockStyle.Top;
            base.picImagen.Hide();
            base.picTitulo.Hide();
            base.lblBuscar.Text = "Subtipo de reclamo: ";
            base.gbObjetos.Text = "Reclamos";
            base.gbObjetos.Height = this.Height - (gbBusqueda.Height + 70);
            base.gbObjetos.Location = new System.Drawing.Point(0, 65);
            this.Text = "SIGERP - Ver reclamos del cliente: " + c.tipodocumento + " " + c.numero_documento + " - " + c.apellido + ", " + c.nombre;
            base.CargarGrilla();
        }

        public override void CargarGrilla()
        {
            dt = new DataTable();
            dt.Columns.Add("Número de reclamo", typeof(int));
            dt.Columns.Add("Tipo", typeof(string));
            dt.Columns.Add("SubTipo", typeof(string));
            dt.Columns.Add("Fecha de ingreso", typeof(string));
            dt.Columns.Add("Estado", typeof(string));
            dt.Columns.Add("Departamento", typeof(string));
            dt.Columns.Add("Reiteraciones", typeof(string));

            reclamos = Reclamos.buscarReclamosEnCursoPorCliente(c);
            foreach (Reclamo r in reclamos)
            {
                dt.Rows.Add(r.id,r.subtiporeclamo.tipo.descripcion,r.subtiporeclamo.descripcion,r.fecha_ingreso.ToShortDateString(),r.estadoreclamo.descripcion,r.departamento_actual.descripcion,r.cant_reiteraciones);
            }
            base.Grilla.DataSource = dt;
            Grilla.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
        }

        public override void clickEnCelda(DataGridViewCellEventArgs e)
        {
 	            base.clickEnCelda(e);
                if (Grilla.SelectedRows.Count == 1)
                {
                    rec = Reclamos.GetOne(Convert.ToInt32(base.Grilla.SelectedRows[0].Cells["Número de reclamo"].Value));
                    frmReclamoVisualizar frm = new frmReclamoVisualizar(rec);
                    frm.ShowDialog();
                    if (frm.seReitero())
                    {
                        reitero = true;
                        Close();
                    }
                }    
        }

        public override void busqueda()
        {
            dt.Clear();

            foreach (Reclamo r in reclamos)
            {
                if (r.subtiporeclamo.descripcion.ToUpper().Contains(txtBusqueda.Text.ToUpper()))
                {
                    dt.Rows.Add(r.id, r.subtiporeclamo.tipo.descripcion, r.subtiporeclamo.descripcion, r.fecha_ingreso.ToShortDateString(), r.estadoreclamo.descripcion, r.departamento_actual.descripcion, r.cant_reiteraciones);

                }
            }

            if (dt.Rows.Count == 0) base.lblNoSeEncontro.Text = "No se encontraron resultados para la búsqueda";
            else base.lblNoSeEncontro.Text = "";
        }

        public Boolean seReitero()
        {
            return reitero;
        }

        private void InitializeComponent()
        {
            this.HelpProviderHG = new System.Windows.Forms.HelpProvider();
            this.SuspendLayout();
            // 
            // HelpProviderHG
            // 
            this.HelpProviderHG.HelpNamespace = "/SIGERP_AYUDA.chm";
            // 
            // frmReclamosCliente
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.ClientSize = new System.Drawing.Size(592, 416);
            this.HelpProviderHG.SetHelpKeyword(this, "frmReclamosCliente_1.htm");
            this.HelpProviderHG.SetHelpNavigator(this, System.Windows.Forms.HelpNavigator.Topic);
            this.Name = "frmReclamosCliente";
            this.HelpProviderHG.SetShowHelp(this, true);
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        public override void ayuda()
        {
            Utilities.mostrarAyuda(this, (this.GetType().ToString() + ".htm").Replace("SIGERP_Presentacion.", ""));
        }

    }
}